<?php

	class ArrayHandler {
		//en funktion som vänder på ordningen på en array
		//tex. array("Kalle", "Nisse", "Olle") skall bli array("Olle", "Nisse", "Kalle");
		public function ReverseArray($array) {
			$result = array();
		//variabeln count fastställer hur många element det finns i arrayen. -1 då arrayer startar på 0 även i PHP.
			$count = count($array)-1;
		//loopar igenom varje element i parameter-arrayen där den lokala arrayen tilldelas parameter-arrayensvärde där --innebär att det sker !
			foreach ($array as $value)
			{
				$result[$count]= $value;
				
				$count--;
			}
			//returnerar arrayen
			return $result;
		}
		
		//en funktion som returnerar sista elementet i en array
		public function ReturnLastItem($array) {
			$result = array();
			//Tilldelar den lokala arrayen värden från parameterarrayen det sista värdet i arrayen via count(lite fusk?).
			$result = $array[count($array)-1];
			//Ersätt denna rad med din kod som returnerar sista elementet i arrayen.
			return $result;
		}
		//En funktion för test av funktionerna i array.php
	  	public function Test() {
			//En testarray
			$testArray = array(1, 2, 3, 4, 5, 6, 7);
			$resultArray = $this->ReverseArray($testArray);
			$reversedArray = array(7, 6, 5, 4, 3, 2, 1);
			//Test så att arrayen har ett index och så att den faktiskt är reversed.
			for ($i = 0; $i < 7; $i++) {
				if (isset($resultArray[$i]) == false) {
					echo "ReverseArray test misslyckades: inget index i returnerad array $i </br>";
					return false;
				} else if ($resultArray[$i] != $reversedArray[$i]) {
					echo "ReverseArray test misslyckades: felaktig array returnerades  </br>";
					return false;
				}
			}
			//Test av ReturnLastItem. Måste vara 7 som är sista.
			if ($this->ReturnLastItem($testArray) != 7) {
				echo "ReturnLastItem test misslyckades: felaktigt returvärde </br>";
				return false;
				}
			return true;   	
			}
  	}